Motion-based singulation of RFID tagged object

ABSTRACT

Systems and methods are disclosed for identifying one or more RF transponders from a group of RF transponders in an environment based on motions and associated change in radio signal strength. An example method includes causing a target object to move, in accordance with a target path, relative to remaining objects, and obtaining signal strength information of signals emitted from the transponders for a period of time during which the target object is moved and identifying the transponder associated with the target object based, at least in part, on analyzing the signal strength information in accordance with one or more criteria predetermined for the target path.

BACKGROUND Technical Field

The present disclosure relates to identifying objects usingradio-frequency identification (RFID) tags, and more specifically, toidentifying an object singulated by a robotic manipulator from aplurality of RFID-tagged objects.

Description of the Related Art

Automated robotics, conveyors, and other motive devices are used in manyindustrial or logistic applications to sort, relocate, convey, orotherwise manipulate objects in order to achieve a desired goal.Radio-frequency identification (RFID) uses electromagnetic fields toautomatically identify and track tags attached to objects. RFID tagstypically contain at least three parts: an integrated circuit thatstores and processes information and that modulates and demodulatesradio-frequency (RF) signals; a means of collecting DC power from theincident reader signal; and an antenna for receiving and transmittingthe signal.

The tags contain electronically stored information. Passive tags collectenergy from a nearby RFID reader's interrogating radio waves. Activetags have a local power source (such as a battery) and may functionfarther from the RFID reader. Unlike a barcode, the tags don't need tobe within the line of sight of the reader, so it may be embedded in thetracked object.

Existing technologies for identifying or singulating an RFID tag amongmultiple tags typically require that all of the tags be simultaneouslyread, or alternatively, a single tag be separated from the remainingtags by a threshold distance so that the remaining tags are notactivated. When multiple RFID tags are located within a vicinity of eachother, a read volume generated by an interrogating reader may be largerin size than the dimensions of a single tag, thereby causing multipletags to be read and/or activated. This can result in read collisionsand/or interference, reducing the accuracy or reliability foridentifying or singulating an object attached to a particular RFID tag.

BRIEF SUMMARY

In some embodiments, a method for singulating an RFID-tagged objectamong multiple RFID-tagged objects includes causing a roboticmanipulator to grasp one or more RFID-tagged objects from a plurality ofRFID-tagged objects within an operating environment and causing therobotic manipulator to move the grasped object(s) in accordance with atarget path. The method also includes obtaining signal strength data ofsignals emitted from RFID tags associated with the plurality of objectsfor a period of time during which the robotic manipulator is moving thegrasped object(s), analyzing the signal strength data using one or morerules for singulating an RFID tag among multiple RFID tags, andidentifying an RFID tag associated with the grasped object(s) based, atleast in part, on the analysis of the signal strength data. In someembodiments, each object of the plurality of objects is associated witha distinct RFID tag.

In some embodiments, the method further includes selecting a motionprofile from a plurality of motion profiles to determine the targetpath. In some embodiments, each motion profile indicates (a) a path tomove an object and (b) one or more rules for singulating an RFID tagassociated with the object among multiple RFID tags. In someembodiments, the one or more rules include at least one of a threshold,difference, ratio, or pattern of signal strength of signals emitted froman RFID tag.

In some embodiments, the target path indicates at least one of rotary,oscillating, linear, or reciprocating motion. In some embodiments, thetarget path indicates at least one of acceleration, velocity, or speedof movement. In some embodiments, the target path indicates at least oneof a starting or ending location.

In some embodiments, a system includes one or more processors and memorystoring contents. The contents, when executed by the one or moreprocessors, cause the system to cause a target object of a plurality ofobjects to move, in accordance with a target path, relative to remainingobjects of the plurality of objects, wherein each object of theplurality of objects is associated with a transponder, obtain signalstrength information of signals emitted from the transponders for aperiod of time during which the target object is moved in accordancewith at least a part of the target path, and identify the transponderassociated with the target object based, at least in part, on analyzingthe signal strength information in accordance with one or more criteriapredetermined for the target path.

In some embodiments, the contents further cause the system to select thetarget path based on at least one of a quantity, locations, or sizes ofthe plurality of objects. In some embodiments, the one or more criteriaincludes at least one of descriptive statistics, time series analysis,or an artificial neural network. In some embodiments, the contentsfurther cause the system to generate or change at least a part of thetarget path in response to a portion of the signal strength informationobtained. In some embodiments, the transponders include RFID tags. Insome embodiments, the system obtains the signal strength information viaone or more RFID readers.

In some embodiments, one or more non-transitory computer-readable mediastore contents that, when executed by one or more processors, cause theone or more processors to perform actions. The actions include causing atarget object of a plurality of objects to move, in accordance with atarget path, relative to remaining objects of the plurality of objects,wherein each object of the plurality of objects is associated with atransponder. The actions also include obtaining signal strengthinformation of signals emitted from the transponders for a period oftime during which the target object is moved in accordance with at leasta part of the target path, and identifying the transponder associatedwith the target object based, at least in part, on analyzing the signalstrength information in accordance with one or more criteriapredetermined for the target path.

In some embodiments, causing the target object to move includescontrolling a robotic manipulator to grasp the target object. In someembodiments, the actions further include controlling one or moreantennas to emit interrogation signals during the period of time,wherein the transponders emit signals in response to the interrogationsignals. In some embodiments, the actions further include selecting thetarget path from a plurality of predetermined paths for moving anobject.

In some embodiments, the target object is a first object, the targetpath is a first path, and the actions further include causing a secondobject of the plurality of objects to move in accordance with a secondpath. In some embodiments, the actions further include identifying thetransponder associated with the second object based, at least in part,on the moving of the second object in accordance with the second path..

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 shows an example environment in which the presently disclosedtechnology operates in accordance with one or more embodiments;

FIG. 2 shows a schematic diagram of a computer system communicativelycoupled with components of the environment of FIG. 1;

FIG. 3 is a flow diagram of an example method for identifying atransponder associated with a target object, in accordance with one ormore embodiments of the presently disclosed technology; and

FIG. 4 is an example graph representation of signal strengthinformation, in accordance with one or more embodiments of the presentlydisclosed technology.

DETAILED DESCRIPTION

The presently disclosed technology is directed towards identifying asingle RFID tag from a group of RFID tags in an environment, such asfrom a bin, pile, heap, storage area, collection, assembly line, etc.,based on motions and associated change in radio signal strength.

Illustratively, for a group of RFID tags (e.g., attached to differentobjects) in an environment, an RFID interrogator (i.e., RFID reader) canactivate multiple tags (e.g., tags within the read dimensions of theinterrogator). A robotic manipulator can be used to grasp one or moreRFID-tagged objects and physically move the object(s) within theenvironment. The robotic manipulator can move the object(s) according toa motion profile selected from multiple motion profiles.

The motion profiles can be stored in a relational database or other datastorage(s). Each motion profile can indicate one or more paths formoving a target object, also referred to herein as “target paths.” Forexample, the motion profile can specify one or more of the followingtypes of motion—rotary, oscillating, linear, and/or reciprocating;variations in acceleration, velocity, and/or speed of movement; startingand/or ending location; or placement of the object within theenvironment. Thus, the motion profile can include (1) specific motiontypes, (2) specific scalar, vector, and/or rate of changecharacteristics, and/or (3) location coordinates within the environment.

As the object(s) are moved relative to the remaining objects in theenvironment, the RFID interrogator obtains signals emitted fromactivated tags and the system analyzes the strengths of the signalsemitted over a period of time. The analysis can be based on one or morerules, criteria, and/or algorithms indicated in the same selected motionprofile for singulating a moving tag from remaining tags based on thesignal strengths. The system may generate the motion profiles underdifferent circumstances prior to operational use of the roboticmanipulator. In some embodiments, at least some motion profiles aredetermined and/or updated over time and based at least in part on datacollected corresponding to the operational use of the roboticmanipulator.

In some embodiments, the robot manipulator is used to assist in pick andplace, gripping, identification, and/or sorting functions, and can be inthe form of an end-of-arm tooling (“EOAT”) that has fingers/grippersthat can be powered electrically, hydraulically, mechanically, orpneumatically. In some embodiments, the EOAT can include asuction/vacuum gripping mechanism. The robot manipulator can be utilizedwithin a storage space or an assembly line. The storage space, as usedherein, can be a bin, box, sorting station, room, or volume that is usedto store, hold, warehouse, or otherwise contain objects.

In some embodiments, the presently disclosed technology is implementedwithin a retail supply chain warehouse, where the objects includeapparel, consumer goods, merchandise, and the like. However, thepresently disclosed technology is not intended to be limited to a retailsupply chain setting, and the objects can include tools, parts,components, packages, letters, foodstuffs, or the like.

The presently disclosed technology can be used in conjunction withreinforcement learning (“RL”) techniques, so that over time, the systemcan intelligently predict when a particular type, size, or shape ofobject associated with the tag is required to be grasped, andproactively provide, for example, a supplemental securement, expeditedhandling, priority routing, etc. This can lead to reduction in the timerequired for object identification and proper manipulation.

The following description, along with the accompanying drawings, setsforth certain specific details in order to provide a thoroughunderstanding of various disclosed embodiments. However, one skilled inthe relevant art will recognize that the disclosed embodiments may bepracticed in various combinations, without one or more of these specificdetails, or with other methods, components, devices, materials, etc. Inother instances, well-known structures or components that are associatedwith the environment of the present disclosure, including but notlimited to the communication systems and networks and the environment,have not been shown or described in order to avoid unnecessarilyobscuring descriptions of the embodiments. Additionally, the variousembodiments may be methods, systems, media, or devices. Accordingly, thevarious embodiments may be entirely hardware embodiments, entirelysoftware embodiments, or embodiments combining software and hardwareaspects.

Throughout the specification, claims, and drawings, the following termstake the meaning explicitly associated herein, unless the contextclearly dictates otherwise. The term “herein” refers to thespecification, claims, and drawings associated with the currentapplication. The phrases “in one embodiment,” “in another embodiment,”“in various embodiments,” “in some embodiments,” “in other embodiments,”and other variations thereof refer to one or more features, structures,functions, limitations, or characteristics of the present disclosure,and are not limited to the same or different embodiments unless thecontext clearly dictates otherwise. As used herein, the term “or” is aninclusive “or” operator, and is equivalent to the phrases “A or B, orboth” or “A or B or C, or any combination thereof,” and lists withadditional elements are similarly treated. The term “based on” is notexclusive and allows for being based on additional features, functions,aspects, or limitations not described, unless the context clearlydictates otherwise. In addition, throughout the specification, themeaning of “a,” “an,” and “the” include singular and plural references.References to the term “set” (e.g., “a set of items”), as used herein,unless otherwise noted or contradicted by context, is to be construed asa nonempty collection comprising one or more members or instances.

Referring to FIG. 1, an example environment 100 includes multipleobjects 102 collected in a designated area 104, a robotic manipulator106 positioned to access the designated area 104, one or more antennas108 positioned proximate to the objects 102 in the designated area 104,and one or more computer systems 110 configured to perform variousoperations described herein. The objects 102 can differ in type based onphysical property, such as a size, a shape, a weight, a function, or acolor of the object, a density of the object, a rigidity of the object,and the like, by way of non-limiting example.

The robotic manipulator 106 is configured to grasp and move individualobjects 102 as a basis for identifying or singulating the object. Eachobject 102 is equipped with a radiofrequency (RF) transponder 116configured to emit an RF signal 118 encoding or otherwise indicating atleast a unique identifier associated with the transponder. For example,a transponder 116 can be embodied as a tag, sticker, label, etc., thatincludes an antenna for receiving and transmitting wireless signals, andan integrated circuit configured to encode an identifier in an RF replysignal 118 transmitted by the antenna. The integrated circuit may behardwired (e.g., as a field programmable gate array) with informationspecifying the identifier to be encoded in the RF signal transmitted, ormay include or be coupled to non-volatile memory (e.g., read-onlymemory, solid-state memory) storing information specifying theidentifier to be encoded in the RF signal transmitted. The transponders116, in some embodiments, are RFID tags that are affixed to an exteriorsurface of the object, embedded within a surface of the object, orprovided in an interior compartment of the object.

In at least some embodiments, the RF transponder 116 is a passivetransponder not equipped with a battery and instead including circuitrythat collects power from an RF interrogation signal for powering theintegrated circuit to emit an RF reply signal encoding the identifier.In some embodiments, the transponder 116 may be an active transponderequipped with a battery that powers the integrated circuitry to emit anRF signal encoding the identifier. In such implementations, the activetransponder may be configured to periodically emit the RF signal, ordetect an RF interrogation signal and emit the RF signal in response. Insome embodiments, a passive transponder is preferable to an activetransponder in the context of the present disclosure to facilitatesynchronization of the RF signals transmitted by the transponders 116 ofthe plurality of objects 102. For example, active transponders mayperiodically transmit RF signals such that a first active transpondermay transmit RF signals with different timing (e.g., a differentfrequency, out of phase) than a second active transponder. In someembodiments, the transponder 116 may be a semi-passive transponderequipped with a battery, but which does not transmit an active signal.

The computer system 110 is communicatively coupled with the one or moreantennas 108 (e.g., part of one or more RFID readers) and configured toobtain signal information 120 regarding the RF signals received by theantenna(s) 108. The computer system 110 performs analysis 122 on thesignal information 120 and identifies the transponder of the object 114extracted or manipulated by the robotic manipulator 106 based on aresult of the analysis 122. The RF signals 118 obtained and the signalinformation 120 associated thereof are obtained in connection with themotion of the object as it is grasped and/or manipulated by the roboticmanipulator 106. Once the object's transponder is identified, thecomputer system 110 can determine various actions 124 to be performedwith respect to the object.

In some embodiments, the environment 100 is located in a manufacturingfacility and the objects 102 are parts or components used in amanufacturing process performed in the manufacturing facility. In someembodiments, the objects 102 are containers, such as boxes, crates,barrels, bags, or other receptacle having a structure in which content(e.g., other objects, materials, items, goods) are contained. In someembodiments, the designated area 104 is a container or other partiallyenclosed volume having sidewalls extending upwardly and defining acavity in which the objects 102 are to be located for processing. Insome embodiments, the designated area 104 is a platform or demarcatedarea on a floor allocated for processing the objects 102.

In some embodiments, the robotic manipulator 106 includes a movablestructure equipped with an end-effector 128 at a distal end of thestructure for securing, grasping, and/or otherwise extracting an object102. The end-effector 128 is a mechanism for selectively securing theobject to the distal end to facilitate extraction, transport, rotate,and/or otherwise manipulate the object. Non-limiting examples of theend-effector 128 include a selectively openable and closable gripper, ahook, a suction mechanism using a vacuum seal, an electromagneticdevice, or other such mechanism. The end-effector 128 can beparticularly configured to secure, grasp, hold, etc., the particulardesign of the object(s) 102. The movable structure may be, for example,an arm comprising a number of segments and joints that facilitaterelative movement between adjacent segments. As another example, themovable structure of the robotic manipulator 106 can be a frame having acable that is selectively extendable to position the end-effector 128 tosecure and grasp the object 102, and that is selectively retractable toextractor separate one object from the remaining objects 102.

The robotic manipulator 106 may be movable relative to a position of thedesignated area 104. The robotic manipulator 106 shown in theenvironment 100 is located on a ceiling of the designated area 104;however, the robotic manipulator 106 is not so limited. The roboticmanipulator 106 may be configured to move along floors or walls of thedesignated area, if desired. The robotic manipulator 106 may be part ofa mobile robot equipped with legs, wheels, treads, or other motivedevices for independent movement of the mobile robot. Additional detailsregarding the robotic manipulator 106 are discussed with respect to FIG.2 and elsewhere herein.

The one or more antennas 108 are each located in a fixed positionproximate to the designated area 104. The computer system 110 causes theantenna(s) 108 to emit RF interrogation signals 130 having a sufficientpower to cause the transponders 116 of the objects 102 to generate andemit the RF signals 118 in response. In some embodiments, the antenna(s)108 is positioned such that the RF interrogation signals 130 reach everytransponder 116 (e.g., to activate it) of the objects 102 in thedesignated area 104. The robotic manipulator 106 can move an object 102relative to the antenna(s) 108 within the environment 100. Changes insignal strength of the RF signals 118 relative to the antenna(s) 108 aredetected.

The antenna(s) 108 may include one or more types of antenna. Forinstance, the one or more antennas 108 may include a parabolic antenna,a dipole antenna, a circular antenna, a circular polarization antenna, acloverleaf antenna, or other similar antenna that can receive ortransmit election regular waves of one or more polarizations in that oneor more desired frequencies. Each of the one or more antennas 108 may beindividually operable by the computer system, via a reader, toselectively send and receive RF signals. In some embodiments, at leastsome objects 102 are equipped with a real-time location system (RTLS)transponder configured to emit ultra-wideband signals, WiFi signals, orinfrared signals which are received by the antenna(s) 108.

FIG. 2 shows a schematic diagram 200 of the computer system 110 and therobotic manipulator 106 operating in the environment 100 according toone or more embodiments. As discussed herein, the robotic manipulator106 and robots, in general, may take any of a wide variety of forms. Therobotic manipulator 106 may include at least one body, such as aplurality of connected segments that are movable relative to each otherand connected by joints. The robotic manipulator 106 may include acontrol subsystem 202 that includes at least one processor 204, at leastone non-transitory tangible computer- and processor-readable datastorage 206, and at least one bus 208 to which the at least oneprocessor 204 and the at least one non-transitory tangible computer- orprocessor-readable data storage 206 are communicatively coupled.

The at least one processor 204 may be any logic processing unit, such asone or more microprocessors, central processing units (CPUs), digitalsignal processors (DSPs), graphics processing units (GPUs),application-specific integrated circuits (ASICs), programmable gatearrays (PGAs), programmed logic units (PLUs), and the like. At least oneprocessor 204 may be referred to herein by the singular, but may be twoor more processors.

Robotic manipulator 106 may include a communications subsystem 210communicatively coupled to (e.g., in communication with) the bus(es) 208and provides bi-directional communication with other systems (e.g.,systems external to the robotic manipulator 106) via a network ornon-network communication channel, such as one or more network(s) 207described herein. The communications subsystem 210 may include one ormore buffers. The communications subsystem 210 receives and sends datafor the robotic manipulator 106, such as sensory information andactuation information. The one or more networks 207 may include wiredand/or wireless networks, a local area network (LAN), a mesh network, orother network suitable to convey medications and information describedherein. The computer system 110 and the robotic manipulator 106 may ormay not communicate over the one or more networks 207.

The communications subsystem 210 may be any circuitry effectingbidirectional communication of processor-readable data, andprocessor-executable instructions, for instance radios (e.g., radio ormicrowave frequency transmitters, receivers, transceivers),communications ports and/or associated controllers. Suitablecommunication protocols include FTP, HTTP, Web Services, SOAP with XML,WI-FI compliant, BLUETOOTH compliant, cellular (e.g., GSM, CDMA), andthe like.

Robotic manipulator 106 may include an input subsystem 212. In any ofthe implementations, the input subsystem 212 can include one or moresensors that measure conditions or states of robotic manipulator 106,and/or conditions in the environment 100 in which the roboticmanipulator 106 operates. Such sensors can include cameras or otherimaging devices (e.g., responsive in visible and/or nonvisible ranges ofthe electromagnetic spectrum including for instance infrared andultraviolet), radars, sonars, touch sensors, pressure sensors, loadcells, microphones, meteorological sensors, chemical sensors, or thelike. Such sensors can include internal sensors, pressure sensors, loadcells, strain gauges, vibration sensors, microphones, ammeter,voltmeter, or the like. In some implementations, the input subsystem 212includes receivers to receive position and/or orientation information.For example, a global position system (GPS) receiver to receive GPSdata, two more time signals for the control subsystem 202 to create aposition measurement based on data in the signals, such as, time offlight, signal strength, or other data to effect (e.g., make) a positionmeasurement. Also, for example, one or more accelerometers, gyroscopes,and/or altimeters can provide inertial or directional data in one, two,or three axes. In some implementations, the input subsystem 212 includesreceivers to receive information that represents posture. For example,one or more accelerometers or one or more inertial measurement units canprovide inertial or directional data in one, two, or three axes to thecontrol subsystem 202 to create a position and orientation measurements.The control subsystem 202 may receive joint angle data from the inputsubsystem 212 or the manipulation subsystem described herein.

Robotic manipulator 106 may include an output subsystem 214 comprisingoutput devices, such as, speakers, lights, and displays. The inputsubsystem 212 and output subsystem 214, are communicatively coupled tothe processor(s) 204 via the bus(es) 208.

Robotic manipulator 106 may include a propulsion or motion subsystem 216comprising motive hardware 217, such as motors, actuators, drivetrain,wheels, tracks, treads, and the like to propel or move the roboticmanipulator 106 within a physical space and interact with it. Thepropulsion or motion subsystem 216 may comprise of one or more motors,solenoids or other actuators, and associated hardware (e.g., drivetrain,wheel(s), treads), to propel robotic manipulator 106 in a physicalspace. For example, the propulsion or motion subsystem 216 may include adrive train and wheels, or may include legs independently operable viaelectric motors. Propulsion or motion subsystem 216 may move the body ofthe robotic manipulator 106 within the environment 100 as a result ofmotive force applied by the set of motors.

Robotic manipulator 106 may include a manipulation subsystem 218, forexample comprising one or more arms, end-effectors, associated motors,solenoids, other actuators, gears, linkages, drive-belts, and the likecoupled and operable to cause the arm(s) and/or end-effector(s) to movewithin a range of motions. For example, the manipulation subsystem 218causes actuation of the robotic arm or other device for interacting withobjects or features in the environment 100. The manipulation subsystem218 is communicatively coupled to the processor(s) 204 via the bus(es)208, which communications can be bi-directional or uni-directional.

Components in robotic manipulator 106 may be varied, combined, split,omitted, or the like. For example, robotic manipulator 106 could includea pair of cameras (e.g., stereo pair) or a plurality of microphones.Robotic manipulator 106 may include one, two, or more robotic arms ormanipulators associated with the manipulation subsystem 218. In someimplementations, the bus(es) 208 include a plurality of different typesof buses (e.g., data buses, instruction buses, power buses) included inat least one body. For example, robotic manipulator 106 may include amodular computing architecture where computational resources devices aredistributed over the components of robotic manipulator 106. In someimplementations, a robot (e.g., robotic manipulator 106), could have aprocessor in an arm and data storage in a body or frame thereof. In someimplementations, computational resources are located in the interstitialspaces between structural or mechanical components of the roboticmanipulator 106.

The data storage 206 includes at least one non-transitory or tangiblestorage device. The data storage 206 can include two or more distinctnon-transitory storage devices. The data storage 206 can, for example,include one or more a volatile storage devices, for instance randomaccess memory (RAM), and/or one or more non-volatile storage devices,for instance read only memory (ROM), Flash memory, magnetic hard disk(HDD), optical disk, solid state disk (SSD), and the like. A person ofskill in the art will appreciate storage may be implemented in a varietyof non-transitory structures, for instance a read only memory (ROM),random access memory (RAM), a hard disk drive (HDD), a network drive,flash memory, digital versatile disk (DVD), any other forms of computer-and processor-readable memory or storage medium, and/or a combinationthereof. Storage can be read only or read-write as needed. Further,volatile storage and non-volatile storage may be conflated, for example,caching, using solid-state devices as hard drives, in-memory dataprocessing, and the like.

The data storage 206 includes or stores processor-executableinstructions and/or processor-readable data 220 associated with theoperation of robotic manipulator 106 or other devices. Here,processor-executable instructions and/or processor-readable data may beabbreviated to processor-executable instructions and/or data.

The execution of the processor-executable instructions and/or data 220cause the at least one processor 204 to carry out various methods andactions, for example via the motion subsystem 216 or the manipulationsubsystem 218. The processor(s) 204 and/or control subsystem 202 cancause robotic manipulator 106 to carry out various methods and actionsincluding receiving, transforming, and presenting information; moving inthe environment 100; grasping and/or manipulating objects; and/oracquiring data from sensors. Processor-executable instructions and/ordata 220 can, for example, include a basic input/output system (BIOS)222, an operating system 224, drivers 226, communication instructionsand data 228, input instructions and data 230, output instructions anddata 232, motion instructions and data 234, and executive instructionsand data 236.

Exemplary operating systems 224 include ANDROID™, LINUX®, and WINDOWS®.The drivers 226 include processor-executable instructions and/or datathat allow control subsystem 202 to control circuitry of roboticmanipulator 106. The processor-executable communication instructionsand/or data 228 include processor-executable instructions and data toimplement communications between robotic manipulator 106 and an operatorinterface, terminal, a computer, or the like. The processor-executableinput instructions and/or data 230 guide robotic manipulator 106 toprocess input from sensors in input subsystem 212. Theprocessor-executable input instructions and/or data 230 implement, inpart, the methods described herein.

The processor-executable output instructions and/or data 232 guiderobotic manipulator 106 to provide information that represents, orproduce control signal that transforms, information for display. Theprocessor-executable motion instructions and/or data 234, as a result ofexecution, cause the robotic manipulator 106 to move in a physical spaceand/or manipulate one or more objects. The processor-executable motioninstructions and/or data 234, as a result of execution, may guide therobotic manipulator 106 in moving within its environment via componentsin propulsion or motion subsystem 216 and/or manipulation subsystem 218.The processor-executable executive instructions and/or data 236, as aresult of execution, guide the robotic manipulator 106 the instantapplication or task for devices and sensors in the environment 100. Theprocessor-executable executive instructions and/or data 236, as a resultof execution, guide the robotic manipulator 106 in reasoning, problemsolving, planning tasks, performing tasks, and the like.

The instructions 220, as a result of execution by the processor(s) 204,may cause the robotic manipulator 106 to process the objects 102 bysuccessively, randomly, or selectively extracting and/or manipulatingindividual objects 102 from the designated area 104. The instructions220 may further cause the processor(s) 204 to process input informationreceived via the input subsystem 212, such as video data captured by acamera or measurements by one or more sensors, and recognize thepresence of the objects 102 located in the designated area 104 based onthe input information received. Instructions 220 may also cause therobotic manipulator 106 to, while in possession of an object 102extracted, perform a set of movements and deposit the object in acertain location. In some embodiments, the robotic manipulator 106 may,while in possession of the object 102 extracted, receive a communicationfrom the computer system 110 and manipulate and/or deposit the object102 as indicated in the communication received. In some embodiments, therobotic manipulator 106 operates independently of the computer system110 when processing one or more objects 102.

The computer system 110 includes one or more processors 238, memory 240,and a communication interface 242. The memory 240 is computer-readablenon-transitory data storage that stores a set of computer programinstructions that the one or more processors 238 may execute toimplement one or more embodiments of the present disclosure. The memory240 generally includes RAM, ROM and/or other persistent ornon-transitory computer-readable storage media, such as magnetic harddrives, solid state drives, optical drives, and the like. The memory 240may store an operating system comprising computer program instructionsuseable by the one or more processors 238 in the general administrationand operation of the computer system 110.

The communication interface 242 includes one or more communicationdevices for transmitting communications and receiving communications viathe network 207. The one or more communication devices of thecommunication interface may include wired communication devices and/orwireless communication devices. Non-limiting examples of wirelesscommunication devices include RF communication adapters (e.g., Zigbeeadapters, Bluetooth adapters, ultra-wideband adapters, Wi-Fi adapters)using corresponding communication protocols, satellite communicationtransceivers, free-space optical communication devices, cellular networktransceivers, and the like. Non-limiting examples of wired communicationdevices include serial communication interfaces (e.g., RS-232, UniversalSerial Bus, IEEE 139), parallel communication interfaces, Ethernetinterfaces, coaxial interfaces, optical fiber interfaces, and power-linecommunication interfaces. The computer system 110 may transmitinformation (e.g., information indicating an operation to be performedinvolving one or more objects) via the communication interface 242 tothe robotic manipulator 106 or other robots, devices, machinery, etc.

The computer system 110 and the robotic manipulator 106 may communicateinformation over the one or more networks 207 regarding the operationsdescribed with respect to the environment 100. Referring to FIG. 1, thecomputer system 110 may cause the antenna(s) 108 to emit the RFinterrogation signals 130, may send a communication over the one or morenetworks 207 to the robotic manipulator 106 indicating one or moremotions or other manipulations to perform, and/or send a communicationover the one or more networks 207 to another device in or around theenvironment 100 indicating an operation involving the object(s) 102.

In some embodiments, the computer system 110 and the robotic manipulator106 may not communicate over the one or more networks 207. For example,the robotic manipulator 106 may operate autonomously and independent ofthe computer system 110 to extract and/or manipulate the object(s) 102from the designated area 104. The computer system 110 may detect orobserve changes in radio signal strength or other environmentalfeatures, and cause devices, machinery, or robots other than the roboticmanipulator 106, to perform operations involving object(s) 102.

FIG. 3 is a flow diagram of an example method 300 for identifying atransponder embedded, attached, or otherwise associated with a targetobject, in accordance with one or more embodiments of the presentlydisclosed technology. Illustratively, the method 300 can be implementedby the computer system 110, the robotic manipulator 106, and/orassociated system(s) or service(s).

With reference to FIGS. 3, the method 300 starts at block 302. At block304, the method 300 includes detecting presence of multiple objectsassociated with RF transponders. For example, the computer system 110can control the antenna(s) 108 to emit RF interrogation signal(s) and inresponse, the antenna(s) 108 can receive RF signals generated andemitted by multiple transponders residing within the read dimension(e.g., covering at least some portion of the designated area 104) of theantenna(s). In some embodiments, the antenna(s) 108 receive signalsemitted by one or more transponders without transmitting interrogationsignals. In some embodiments, the computer system 110 detects thepresence of multiple objects based, in part, on data obtained from othersensor(s) (e.g., camera, radar, LiDAR, or the like).

Each of the detected object is attached, equipped, or otherwiseassociated with a distinct RF transponder (e.g., RFID tag). The RFsignals emitted from each RF transponder can encode or otherwiseindicate a unique identifier associated with the transponder. In somecases, the identifier can also indicate a type, content, or otherattribute(s) of the object associated with the transponder. Whiledetecting the presence of the objects, the computer system 110 obtainsthese identifiers as well as determines the strengths of the RF signalsemitted from different transponders and received at the antenna(s) 108.

At block 306, the method 300 includes selecting a target object to moveaccording to a path. The target object can be selected randomly or basedon the quantity, locations, and/or sizes of the objects. The path can bedetermined by selecting a motion profile from multiple predeterminedmotion profiles. Similarly, the selection of the motion profiles can berandom or based on the quantity, locations, and/or sizes of the objects.In some embodiments, the computer system 110 determines or estimates thequantity, locations, and/or sizes of the objects based at least in parton data obtained from other sensor(s) (e.g., camera, radar, LiDAR, orthe like). In some embodiments, the computer system 110 only uses thedetected RF signals (e.g., indicating a distribution of signal strengthsassociated with different RF transponder identifiers) as a basis forselecting the target object and/or the motion profile.

Each motion profile can indicate (a) one or more paths to move a targetobject and (b) one or more criteria (e.g., rules, algorithms, and/ormodels) for singulating an RF transponder associated with the targetobject among multiple RF transponders. The path can indicate at leastone of rotary, oscillating, linear, or reciprocating motion; at leastone of acceleration, velocity, or speed of movement; and/or at least oneof a starting or ending location. The one or more criteria, for example,can include at least one of a threshold, difference, ratio, or patternof signal strength of signals emitted from an RF transponder. In someembodiments, the one or more criteria can include at least one ofdescriptive statistics, time series analysis, or an artificial neuralnetwork.

In various embodiments, the motion profiles can be generated based onexperiments or past observations. For example, each experiment orobservation can correspond to a different configuration of quantity,location, and/or sizes of objects with RF transponders laid out in thedesignated area 104. Randomly and/or manually generated paths can beused to move different objects under each configuration, andcorresponding changes in strength of transponder-emitted signals asreceived at antenna(s) 108 can be recorded while the object is beingmoved accordingly. For each different configuration, one or more pathsthat provide sufficient data of signal strength changes (e.g., havingcertain level of statistical significance, satisfying certaincorrelation or entropy thresholds, or the like) to distinguish thetransponder in motion relative to other transponders can be stored witha respective motion profile, along with information about the particularconfiguration and one or more criteria applicable to the signal strengthdata for singulating the transponder in motion.

Once the target object is selected and the path is determined, thecomputing system 110 can cause the target object to be moved accordingto the path. For example, the computing system 110 can control therobotic manipulator 106 to grasp, rotate, tilt, flip, or otherwise movethe target object by following the path, relative to the remainingobjects.

At block 308, the method 300 includes obtaining signals emitted from thetransponders associated with the objects. In some embodiments, thecomputing system 110 controls the antenna(s) 108 to emit interrogationsignals at predetermined intervals or in a continuous manner, during theperiod of time when the target object is being moved. The transpondersassociated with the objects emit signals in response to theinterrogation signals, which can be received at the antenna(s) 108. Insome embodiments, at least some transponders emit signals withoutresponding to any interrogation signal.

In some embodiments, the selected motion profile can indicate one ormore paths that are at least partially adaptive or reactive. Forexample, the motion profile can include instructions that cause thecomputing system 110 to generate or change at least a part of the pathin response to signal strength information obtained. In other words, thetarget object can be moved in a way reactive and/or responsive to thestrength(s) of signals obtained.

At block 310, the method 300 includes analyzing the obtained signalstrengths based on one or more criteria associated with the path. Asdescribed above, the one or more criteria can be retrieved or otherwiseobtained from the selected motion profile. The signal strength analysiscan include evaluating signal strength values emitted from individualtransponders and/or across multiple transponders.

At block 312, the method 300 includes identifying the transponderassociated with the target object based at least in part on theanalysis. Illustratively, once the transponder is identified, thecomputing system 110 can map the identifier(s) encoded or otherwiseindicated in the signal emitted from the identified transponder to thetarget object and perform further actions based thereon. For example,the computing system 110 can confirm the type and/or content of thetarget object using the identifier(s) and cause the robotic manipulator106 or other devices or machinery to perform various operations (e.g.,sorting, packing, unpacking, transferring, stowing, or the like) withrespect to the target object.

As an example, FIG. 4 is a graph representation of signal strengthinformation as obtained at block 308, in accordance with one or moreembodiments of the presently disclosed technology. The graph showssignals emitted from 7 distinct transponders (e.g., RFID tags), whichare plotted in accordance with time and signal strength.

Illustratively, one or more criteria associated with the path foranalyzing the signals can specify a time window 402 (e.g., between timet1 and time t3) as a focus of the analysis. This time window can bedetermined in accordance with the path, which instructs the roboticmanipulator 106 or otherwise causes the target object to move toward aparticular antenna 108 and then away from the antenna, with a smallestdistance between the target object and the antenna to occur at time t2.The one or more criteria can specify a signal pattern to look for:signals emitted from the transponder of interest (i.e., the object beingmoved according to the path) should peak in strength proximate in time(e.g., within a threshold) to t2. The one or more criteria can specify apeak-to-value ratio in signal strength to further the analysis. Based onthese criteria, the computing system 110 can analyze the signals andidentify the transponder associated with the target object (e.g., theRFID tag of interest as shown).

Referring back to FIG. 3, at block 314, the method 300 includesdetermining whether to continue identifying other transponder(s). Forexample, the computing system 110 can determine whether additionalobjects remain in the designated area 104 to be processed. If additionalobjects remain to be processed, the method 300 continues and proceedsback to block 306. Otherwise, the method 300 ends.

In some embodiments, other short-range wireless transmissioncommunication protocols may be used instead of, or in conjunction with,RFID. For example, the transponders may include Bluetooth transponders,Bluetooth low energy transponders, Wi-Fi transponders, or opticaltransponders. In some embodiments, active transponders may be utilizedto supplement the use of the passive transponders.

The various embodiments described above can be combined to providefurther embodiments. These and other changes can be made to theembodiments in light of the above-detailed description. In general, inthe following claims, the terms used should not be construed to limitthe claims to the specific embodiments disclosed in the specificationand the claims, but should be construed to include all possibleembodiments along with the full scope of equivalents to which suchclaims are entitled. Accordingly, the claims are not limited by thedisclosure.

The invention claimed is:
 1. A method for singulating an RFID-taggedobject among multiple RFID-tagged objects, comprising: causing a roboticmanipulator to grasp at least one RFID-tagged object from a plurality ofRFID-tagged objects within an operating environment; retrieving a motionprofile associated with the at least one RFID-tagged object, the motionprofile indicating a path for moving the at least one RFID-tagged objectcausing the robotic manipulator to move the at least one RFID-taggedobject in accordance with the path indicated in the motion profile;obtaining signal strength data of signals emitted from an RFID tagassociated with the at least one RFID-tagged object during movement ofthe at least one RFID-tagged object along the path; analyzing the signalstrength data using one or more rules for singulating the RFID tag;modifying the path based, at least in part, on the analyzing of thesignal strength data; and updating the motion profile based, at least inpart, on the modifying of the path.
 2. The method of claim 1, wherein atleast two objects of the plurality of RFID-tagged objects are associatedwith different RFID tags.
 3. The method of claim 1, further comprisingselecting the motion profile from a plurality of motion profiles.
 4. Themethod of claim 1, wherein the motion profile further indicates the oneor more rules for singulating the RFID tag.
 5. The method of claim 1,wherein the one or more rules include at least one of a threshold,difference, ratio, or pattern of signal strength of signals emitted froman RFID tag.
 6. The method of claim 1, wherein the path indicates atleast one of rotary, oscillating, linear, or reciprocating motion. 7.The method of claim 1, wherein the path indicates at least one ofacceleration, velocity, or speed of movement.
 8. The method of claim 1,wherein the path indicates at least one of a starting or endinglocation.
 9. A system, comprising: one or more processors; memorystoring contents that, when executed by the one or more processors,cause the system to: retrieve a motion profile associated with at leastone object of a plurality of objects, the motion profile indicating apath for moving the at least one object; cause the at least one objectto move, in accordance with a the path indicated in the motion profile,relative to remaining objects of the plurality of objects, wherein eachobject of at least a subset of the plurality of objects is associatedwith a transponder; obtain signal strength information of signalsemitted from the transponders during movement of the at least one objectalong at least a part of the path; analyze the signal strengthinformation in accordance with one or more criteria for singulating atransponder associated with the at least one object; modify the pathbased, at least in part, on the analyzing of the signal strengthinformation; and update the motion profile based, at least in part, onthe modifying of the path.
 10. The system of claim 9, wherein thecontents further cause the system to select the motion profile based onat least one of a quantity, locations, or sizes of the plurality ofobjects.
 11. The system of claim 9, wherein the one or more criteriaincludes at least one of descriptive statistics, time series analysis,or an artificial neural network.
 12. The system of claim 9, wherein thecontents further cause the system to generate or change at least a partof the path in response to a portion of the signal strength informationobtained.
 13. The system of claim 9, wherein the transponders includeRFID tags.
 14. The system of claim 13, wherein the system obtains thesignal strength information via one or more RFID readers.
 15. One ormore non-transitory computer-readable media storing contents that, whenexecuted by one or more processors, cause the one or more processors toperform actions comprising: retrieving a motion profile associated withat least one object of a plurality of objects, the motion profileindicating a path for moving the at least one object; causing the atleast one object to move, in accordance with the path indicated in themotion profile, relative to remaining objects of the plurality ofobjects, wherein at least two of the plurality of objects are eachassociated with a transponder; obtaining signal strength information ofsignals emitted from the transponders during movement of the at leastone object along at least a part of the path; analyzing the signalstrength information in accordance with one or more criteria forsingulating a transponder associated with the at least one object;modifying the path based, at least in part, on the analyzing of thesignal strength information; and updating the motion profile based, atleast in part, on the modifying of the path.
 16. The one or morenon-transitory computer-readable media of claim 15, wherein causing theat least one object to move comprises controlling a robotic manipulatorto grasp the at least one object.
 17. The one or more non-transitorycomputer-readable media of claim 15, wherein the actions furthercomprise controlling one or more antennas to emit interrogation signals,wherein the transponders emit signals in response to the interrogationsignals.
 18. The one or more non-transitory computer-readable media ofclaim 15, wherein the actions further comprise selecting the motionprofile from a plurality of motion profiles.
 19. The one or morenon-transitory computer-readable media of claim 15, wherein the actionsfurther comprise causing an other object of the plurality of objects tomove in accordance with an other path.
 20. The one or morenon-transitory computer-readable media of claim 19, wherein the actionsfurther comprise performing analysis for singulating a transponderassociated with the other object based, at least in part, on movement ofthe other object in accordance with the other path.